Crate yamux[][src]

This crate implements the Yamux specification.

It multiplexes independent I/O streams over reliable, ordered connections, such as TCP/IP.

The three primary objects, clients of this crate interact with, are:

  • Connection, which wraps the underlying I/O resource, e.g. a socket,
  • Stream, which implements [futures::io::AsyncRead] and [futures::io::AsyncWrite], and
  • Control, to asynchronously control the Connection.

Structs

Config

Yamux configuration.

Connection

A Yamux connection object.

Control

The Yamux Connection controller.

Packet

Byte data produced by the [futures::stream::Stream] impl of Stream.

Stream

A multiplexed Yamux stream.

StreamId

The ID of a stream.

Enums

ConnectionError

The various error cases a connection may encounter.

FrameDecodeError

Possible errors while decoding a message frame.

HeaderDecodeError

Possible errors while decoding a message frame header.

Mode

How the connection is used.

WindowUpdateMode

Specifies when window update frames are sent.

Functions

into_stream

Turn a Yamux Connection into a [futures::Stream].